Pseudo-random number generation is used in a variety of applications from electronic gambling games to cryptography. While often referred to as “random number generation,” in truth it is difficult to generate truly random numbers, and historical tools for “random” number generation have usually employed procedures whose outputs can be reproduced if certain underlying inputs are known. Relatively recently, the use of pseudo-random numbers has grown in prevalence in fraud prevention and security protocols. For example, pseudo-random numbers may be used to authenticate a session or other interaction between two devices by serving as a unique session identifier. Traditional methods for generating a pseudo-random number for authenticating a session, however, have become increasingly susceptible to attack as the availability of computing power has increased. If a perpetrator has access to a user's device or information related to a user's session such as the user's access time, there are now often sufficient computing resources needed for a malicious attacker to perform a brute force attack exploiting the vulnerability of pseudo-random number generation techniques. In this way, a user's session may be compromised simply by virtue of the new technical problems emergent in response to the growing computing resources available today, because perpetrators have a greater ability to determine the method by which the session identifier is pseudo-randomly generated, replicate the method to generate the same session identifier, and break into the user's session.